The flash electrically erasable programmable read only memory (EEPROM) was developed in response to a need for a nonvolatile memory device having the low cost attributes of conventional erasable programmable read only memories (EPROMs) and the high speed in-system erasure capability of more expensive conventional EEPROMs. Flash EEPROMs are erased electrically, like EEPROMs, but the erasure operation, like EPROMs, is generally accomplished in a bulk or section format. Thus, the flash EEPROM includes the erase speed of the EEPROM while retaining a simpler structure that permits the higher densities and lower costs of the EPROM.
Flash EEPROMs have become particularly useful in electronic still camera imaging applications, in which a large amount of image data for a plurality of images must be stored in a manner that permits easy retrieval and erasure of data for a selected image. Early efforts to produce compact still electronic imaging cameras focused on the use of a magnetic disc drive units to store digital image information. The magnetic disc drive units, however, suffered from a number of deficiencies--including mechanical failures and excessive power requirements--when utilized in still electronic camera systems. With the recent availability of lower priced flash EEPROMs, electronic camera designers have replaced the magnetic disc drive units with semiconductor memory cards that contain a plurality of flash EEPROMs. The memory capacity of the semiconductor memory cards is generally sufficient to permit a plurality of images to be stored, while the in-system erase capability of the flash EEPROMs permits the user to selectively erase one or more of the stored images as desired.
In many applications, such as digital imaging, it is desirable to minimize the amount of time required to write data to the flash EEPROM device while providing verification that the data has been properly written. For example, a write with verification operation, or program-verification operation, is accomplished in a 28F010 CMOS Flash Memory available from INTEL Corporation by having a microprocessor write a command code into a command register of the flash memory after a data byte has been written. The write command code terminates programming operations and causes an internally-generated margin voltage to be applied to the written data byte. The programmed data byte is then read by the microprocessor and compared with the original data byte to determine whether the write operation was successful.
A verification operation is performed after the programming of each data byte, i.e. "byte verification", whether random or sequential data bytes are written to the flash memory. The actual programming operation takes about ten microseconds and the verification operation takes six microseconds. Thus, the verification operation uses a substantial portion of the time required to complete the program-verification cycle for each data byte, and adds considerably to the total amount of time required to completely program the flash EEPROM memory. The invention is directed to significantly reducing the amount of time required to programming a flash EEPROM memory while maintaining the verification operation.